package com.sztz.excel;

import cn.hutool.core.util.StrUtil;
import com.sztz.result.BaseResult;
import com.sztz.result.ResultEnum;
import com.sztz.vo.HkTdecExcelVo;
import lombok.extern.slf4j.Slf4j;

import java.util.List;
import java.util.function.Consumer;

/**
 * 香港清关标准Excel解析
 * @author yzy
 * @date 2022/8/19 17:08
 */
@Slf4j
public class HkTdecExcelListener extends AbstractFixedFormatExcelListener<HkTdecExcelVo> {
    /**
     * 需要调用类的构造方法注入数据处理逻辑
     */
    public HkTdecExcelListener(Consumer<List<HkTdecExcelVo>> consumer) {
        super(consumer);
    }
    /**
     * 对解析出的香港清关数据进行必填校验
     * @param data 解析出的一行数据
     * @return BaseResult<String> 校验结果
     * @author yzy
     * @date 2022/8/19 17:02
     */
    @Override
    public BaseResult<String> validate(HkTdecExcelVo data,int rowIndex) {
        String prefix = StrUtil.format("第{}项货物信息",rowIndex);
        if(StrUtil.isBlank(data.getType())){
            return BaseResult.fail(ResultEnum.VALIDATE_ERROR,prefix+"进出口类型不能为空");
        }
        if(StrUtil.isBlank(data.getArriveDate())){
            return BaseResult.fail(ResultEnum.VALIDATE_ERROR,prefix+"日期不能为空");
        }
        if(StrUtil.isBlank(data.getHsCode())){
            return BaseResult.fail(ResultEnum.VALIDATE_ERROR,prefix+"HSCode协调制度编码不能为空");
        }
        return BaseResult.success(StrUtil.EMPTY);
    }
}
